شرح النظام السادس عشري Hexadecimal والتحويل الى نظام العد الثنائي بالتفصيل

من الآحاد والأصفار في نظام Binary System إلى عالمٍ أوسع وقدر اقوى، رحّبوا بالنظام السادس عشري Hexadecimal System، هل شعرتَ يومًا بالضياع وأنت تُحاول فكّ شفرة سلسلةٍ طويلةٍ من الآحاد والأصفار؟ في درسنا السابق عن السرعات ووحدات القياس في الكمبيوتر، تعلّمنا كيف تُقاس سرعة معالجة هذه البيانات الضخمة. لكن تخيّل لو أن الكمبيوتر اضطر للتعامل مع هذه السلاسل الطويلة في كل مرة! لحسن الحظ، هناك نظامٌ ذكيّ يُسهّل هذه العملية ويُختصرها بشكلٍ كبير: النظام السادس عشر. انضمّ إلينا في هذه الرحلة الشيّقة لِنكتشف سويًا كيف تُصبح هذه اللغة، التي تبدو غريبةً للوهلة الأولى، أداةً قويةً في يد المُبرمجين حيث سنقوم بشرح نظام السادس عشري Hexadecimal بالكامل وشرح عمليات التحويل وغيرها من التفاصيل المهمة.

نظام السادس عشرHexadecimal
نظام السادس عشرHexadecimal

تذكّر عندما غصنا في أعماق عالم الحاسوب في درس شرح نظام العد الثنائي Binary System وكيف أنّه يعتمد على لغةٍ بسيطةٍ من صفر وواحد فقط لتمثيل البيانات؟ ولكن، ما العمل عندما نتعامل مع كمياتٍ ضخمةٍ من البيانات، كأن نقوم بتخزين صورةٍ عالية الدقة أو كتابة برنامجٍ مُعقّد؟ هنا يأتي دور النظام السادس عشري لإنقاذ الموقف! فهو يُمثّل طريقةً مُختصرةً وذكيةً لكتابة تلك الآحاد والأصفار، مما يُسهّل على المُبرمجين قراءة وفهم البيانات، بل و كتابتها بشكلٍ أسرع. هل أنت مُستعدٌ لِفكّ شيفرة هذه اللغة السريّة؟ هيا بنا!

1. ما هو النظام السادس عشري (Hexadecimal)؟ لماذا 16 رمزًا؟

دعنا نبدأ رحلتنا في عالم النظام السادس عشري بفهم ماهيته. تخيّل أنك تتعلم لغةً جديدةً كلياً، هذه اللغة هي طريقة مختلفة للتعبير عن الأرقام التي نستخدمها يوميًا. في حياتنا اليومية، نعتمد على النظام العشري، الذي نستخدم فيه عشرة رموز فقط (من 0 إلى 9) لتمثيل أيّ رقم، مثل أصابع يديك! لكن ماذا لو كانت لدينا أكثر من عشر أصابع؟ هنا يأتي دور النظام السادس عشري.

يُمكن تشبيه النظام السادس عشر بلعبةٍ مُسلّيةٍ تستخدم 16 رمزًا مختلفًا لتمثيل الأرقام. سنستخدم الأرقام التي نعرفها من 0 إلى 9، لكن مع إضافةٍ مُميّزة! سنستعين بستة أحرف من الأبجدية الإنجليزية لتمثيل باقي الأرقام:

  • A = 10
  • B = 11
  • C = 12
  • D = 13
  • E = 14
  • F = 15

لذا، بدلاً من الاعتماد على عشرة رموز فقط، أصبح لدينا الآن ستة عشر رمزًا للتعبير عن الأعداد!

صناديق الأرقام:

لفهم كيفية عمل هذا النظام بشكلٍ أفضل، لنتخيل أن لدينا صناديق، كلُّ صندوقٍ يتسع لـ 16 كرة. في النظام العشريّ، إذا امتلأ صندوقٌ بالعشرة، نأخذ صندوقًا جديدًا ونضع فيه كرةً واحدةً لتمثيل العدد 10، ونترك الصّندوق الأول فارغًا. أما في النظام السادس عشر، فبإمكاننا وضع 15 كرة في الصندوق الأول قبل أن نحتاج لصندوقٍ جديد! فعندما نصل للكرة السادسة عشر، نضعها في صندوقٍ جديدٍ ونُعبّر عنها بالرمز "10" في النظام السادس عشري (Hexadecimal) والذي يُعادل الرقم 16 في نظامنا العشريّ المُعتاد.

النظام السادس عشر Hexadecimal في الحاسوب

لماذا الأحرف؟

لكن لماذا نستخدم الأحرف مع الأرقام في هذا النظام؟ تكمن الإجابة في رغبتنا بتجنّب الخلط واللبس! تخيّل أنك ترى الرقم "11" في نظامٍ يستخدم الأرقام من 0 إلى 9 فقط، هل يُمثّل هذا الرقم أحد عشر أم واحد بجوار واحد؟ بإضافة الأحرف، نتخلّص من هذه المُشكلة ونجعل قراءة وكتابة الأرقام أكثر وضوحًا.

باختصار، يُمثّل النظام السادس عشر طريقةً ذكيةً ومُختصرةً للتعبير عن الأرقام، مما يُسهّل على الكمبيوتر التعامل مع كمياتٍ ضخمةٍ من البيانات.

2. لماذا نستخدم النظام السادس عشري في الكمبيوتر؟ لغةٌ مُختصرةٌ لعالمٍ ثنائيّ!

قد يتساءل البعض، لماذا نُرهق أنفسنا بتعلّم نظام عدٍّ جديدٍ كالنظام السادس عشر بينما نستخدم النظام العشريّ بكلّ سهولةٍ في حياتنا اليوميّة؟ تكمن الإجابة في قلبِ الطريقةِ التي تُفكّر بها أجهزة الكمبيوتر!

تذكّر أنّ الكمبيوتر يفهم لغةً بسيطةً تتكوّن من 0 و 1 فقط، وهي اللغة الثنائية. لذا، عند تعامُله مع الأرقام والبيانات، يقوم بِتحويلها إلى سلاسلَ طويلةٍ من الآحاد والأصفار. تخيّل مثلاً أنّك تُريد إخبار الكمبيوتر بالرقم 255، سيقوم بِتمثيله على الشّكل التّالي: 11111111. أمّا الرقم 1234، فسَيُصبح سلسلةً أطول: 10011010010. هل تتخيل صعوبة قراءة وفهم هذه السّلاسل الطويلة للأشخاص الّذين يُبرمجون هذه الأجهزة؟

هنا يأتي دور النظام السادس عشر كبطلٍ مُنقذ! فهو يُمثّل طريقةً مُختصرةً وفعّالةً لتجميع هذه الآحاد والأصفار في مجموعاتٍ أصغر وأسهل في التّعامل معها. فبدلاً من كتابة 11111111 لتمثيل الرقم 255، يكفي كتابة FF في النّظام السّادس عشر. نَعم، رقمٌ مُكوّنٌ من رمزين فقط بدلاً من ثمانية!

ومثال أخر في عالم الكمبيوتر، تُستخدم ذاكرة RAM لتخزين البيانات التي يعمل عليها الجهاز في الوقت الحالي. وتُقسم ذاكرة RAM إلى "خلايا" صغيرة ، و تُمثّل كل خلية بايت واحد. و لِتسهيل التّعامل مع هذهِ الخلايا و عناوينها بِـ شكلٍ مُختصر و واضح، فإنّ النّظام السّادس عشر يُستخدم لِتمثيل عنوان كل خلية في الذاكرة.

تمثيل الأرقام:

  • يعتمد النظام السادس عشر على 16 رمزًا: الأرقام من 0 إلى 9، والحروف من A إلى F.
  • الخانة الأولى: تمثل الخانة الأولى في العدد السادس عشر "16⁰" (أي 1).
  • الخانة الثانية: تمثل الخانة الثانية "16¹" (أي 16).
  • الخانة الثالثة: تمثل الخانة الثالثة "16²" (أي 256).
  • مثال: الرقم السادس عشر "2A" يُعادل في النظام العشري "42" (2×16¹ + 10×16⁰ = 42).
  • مثال آخر: الرقم السادس عشر "1F3" يُعادل في النظام العشري "507" (1×16² + 15×16¹ + 3×16⁰ = 507).

النظام السّادس عشري في مُختلف المهام البرمجية:

وليس هذا فحسب، بل يُساعدنا النظام السادس عشر في العديد من المهام البرمجية الأخرى، مثل:

  • تحديد عناوين الذّاكرة: تُخزّن البيانات في الذّاكرة في عناوين مُحدّدة، و تُستخدم النظام السادس عشر لتمثيل هذه العناوين بِشكلٍ مُختصر ودقيق.
  • أكواد الألوان: هل تساءلت يومًا كيف تُحدّد الألوان في التّصميم والمواقع الإلكترونيّة؟ تُستخدم قيم سادسة عشر لتمثيل مُكوّنات الّلون (الأحمر، الأخضر، والأزرق)، مما يُتيح لنا الحُصول على ملايين الألوان بِدقّةٍ عالية.
  • كتابة الأكواد البرمجيّة: تُستخدم النظام السادس عشر في بعض لغات البرمجة لِكتابة الأكواد والتّعامل مع البيانات بِشكلٍ مُباشر، وذلك لِكفاءته وسُرعته.

باختصار، يُمثّل النظام السادس عشر لغةً مُشتركةً بين البشر والكمبيوتر، فهو يُسهّل علينا نحن البشر قراءة وفهم وتذكّر البيانات الثنائية التي يُعالجها الكمبيوتر، في نفس الوقت الذي يُحافظ فيه على سُرعة وكفاءة الأجهزة في التّعامل مع هذه البيانات.

التحويل بين النظام السادس عشر والنظام الثنائي
التحويل بين النظام السادس عشر والنظام الثنائي

3. التحويل بين النظام السادس عشري والنظام الثنائي: جسورٌ بين عالمين مختلفين

تخيّل أنك تُريد إرسال رسالةٍ سريةٍ لصديقك، ولكنّك تُريد كتابتها بلغةٍ لا يفهمها سِواكم. ستحتاجون إلى مفتاحٍ سحريٍّ لِتَحويل كلماتكم إلى رموزٍ مُبهمةٍ بالنسبة للآخرين. هذا بالضّبط ما سنقوم به عند التّحويل بين النظام السّادس عشر والنظام الثّنائيّ! سنُتقن لغةً سريةً تُتيح لنا التّواصل مع الكمبيوتر، وفهم كيف يُفكّر ويُخزّن ويُعالج البيانات.

3.1. من الثنائي إلى السادس عشري: رحلة من عالم الآحاد والأصفار إلى عالم الأرقام والحروف

لنبدأ بِمثالٍ عمليّ: لنفترض أنّ الكمبيوتر أرسل لنا الرسالة السّرية التّالية: 101100111010. إنّها سلسلةٌ طويلةٌ من الآحاد والأصفار! لِفهم هذه الرّسالة، سنُحوّلها إلى النظام السّادس عشر بِخطواتٍ بسيطة:

1. التقسيم إلى مجموعات: نقسّم الرّسالة الثنائيّة إلى مجموعاتٍ من أربعة أرقام، ونبدأ دائمًا من اليمين إلى اليسار: 1011 0011 1010.
2. التّحويل إلى عشريّ: الآن، سنستخدم قُوّتنا في النّظام العشريّ لفهم معنى كلّ مجموعة:
  • المجموعة الأولى 1011 تُصبح: (1×8) + (0×4) + (1×2) + (1×1) = 11، ونُمثّلها بِالحرف B في النظام السّادس عشر.
  • المجموعة الثّانية 0011 تُصبح: (0×8) + (0×4) + (1×2) + (1×1) = 3.
  • المجموعة الثّالثة 1010 تُصبح: (1×8) + (0×4) + (1×2) + (0×1) = 10، ونُمثّلها بِالحرف A في النظام السّادس عشر.
3. جمع النتائج: أصبح لدينا الآن رموز مُميّزة تُمثّل كلّ مجموعة، ونكتبها بِجانب بعضها لنحصل على النّتيجة النّهائيّة: B3A.

لقد نجحنا! الرّسالة السّرية 101100111010 تُصبح بِكلّ بساطة B3A في النظام السّادس عشر.

3.2. من السّادس عشري إلى الثّنائيّ: فكّ شيفرة الأرقام والحروف

لنفترض الآن أنّ لدينا الرمز السّادس عشر F2، ونُريد فهم معناه في لغة الكمبيوتر (النّظام الثّنائيّ). سنُطبّق خطواتٍ بسيطة لِفكّ هذه الشّيفرة:

  1. التّحويل إلى عشريّ: نُحوّل كلّ رمز في العدد السّادس عشر إلى قيمته في النّظام العشريّ: 1- F تُعادل 15. 2تبقى كما هي.
  2. التّحويل إلى ثنائيّ: الآن، سنُحوّل كلّ رقم عشريّ إلى تمثيله الثّنائيّ، تمامًا كما تعلّمنا في درس "شّرح نظام العدّ الثنائيّ": 15 = (1×8) + (1×4) + (1×2) + (1×1) = 1111. _ 2 = (0×8) + (0×4) + (1×2) + (0×1) = 0010.
  3. جمع النتائج: نكتب التمثيلات الثّنائيّة بجانب بعضها لنحصل على النّتيجة النّهائيّة: 11110010.

رائع! لقد فككنا شيفرة الرمز F2 ليُصبح 11110010 في النّظام الثّنائيّ.

مثال تحويل من السادس عشر إلى الثنائي:

  1. تحويل كل رمز: يُحوّل كل رمز في العدد السادس عشر إلى قيمته الثنائية (4 بت).
  2. مثال: F = 1111، A = 1010، 3 = 0011.
  3. دمج القيم: نُدمج القيم الثنائية مع بعضها لِلحصول على العدد الثنائي الكامل.
  4. مثال: العدد السادس عشر "F3A" يُصبح في النظام الثنائي "1111 0011 1010".

بِهذه الطّريقة، نستطيع التّحويل بكلّ سهولةٍ بين النظامين السّادس عشر والثّنائيّ، ونُصبح أكثر فهماً للغة التي يتحدّث بها الكمبيوتر، ونستطيع التّعامل مع البيانات بِكفاءةٍ و سهولة.

4. تطبيقات النظام السادس عشر في عالم الكمبيوتر: اكتشف كيف تُستخدم هذه اللغة في كل مكان!

الآن بعد أن أتقنتَ التحويل بين النظامين الثنائي والسادس عشر، هل تتساءل أين يُمكننا استخدام هذه المهارات الجديدة في عالم الكمبيوتر؟ اترك العنان لفضولك، فالنظام السادس عشر يُحيط بنا من كلّ جانبٍ في عالم التكنولوجيا، ويُشكّل جزءًا أساسيًا في عمل العديد من التطبيقات التي نستخدمها يوميًا!

لنستكشف سويًا بعضًا من هذه التطبيقات:

4.1. تصميم المواقع الإلكترونية: ألوان مُبهرة بلغةٍ سحريّة!

هل سحرتك يومًا ألوان مواقع الإنترنت وتصاميمها الخلّابة؟ كيف يُمكن للشّاشة أن تُنتج كلّ هذهِ التّدرّجات والظّلال المُختلفة؟ يكمن السّر في النظام السّادس عشر! فعندما يُريد مُصمّم المواقع اختيار لونٍ مُعين، فإنّه يستخدم قيمًا سادسية عشر لِتحديد نِسَبِ الألوان الرّئيسيّة: الأحمر، الأخضر، والأزرق.

مثال:

اللون الأحمر الصّافي يُكتب #FF0000 في لغة تصميم المواقع. تُشير حروف FF إلى أعلى قيمة للّون الأحمر، بينما تُشير الأصفار إلى غياب اللّونين الأخضر والأزرق. بِتغيير هذهِ القيم السّادسية عشر، يُمكن لنا الحُصول على ملايين التّركيبات المُختلفة من الألوان لإنشاء مواقع مُبهرة تجذب الأنظار.

4.2. عناوين الذاكرة: خريطةٌ سادسية عشر لِبياناتك

تخيّل أنّ ذاكرة الكمبيوتر هي مدينةٌ ضخمة، وكلّ معلومةٍ أو برنامجٍ يُخزّن في عنوانٍ مُحدّد، كأنّه منزلٌ له رقمٌ خاصّ. ولِتسهيل العثور على هذهِ العناوين، يستخدم الكمبيوتر النظام السّادس عشر.

يُمكن أن يبدو عنوان الذّاكرة كالتّالي: 0x7F8A3B2C. يُشير الجزء 0x إلى أنّ هذا العدد مكتوبٌ بِالنظام السّادس عشر، وتُمثّل باقي الأحرف والأرقام موقعًا مُحدّدًا في الذّاكرة. يُتيح لنا هذا النّظام التّعامل مع مليارات العناوين المُختلفة بِدقّةٍ ووضوح.

4.3. البرمجة: التّواصل مع الكمبيوتر بلغته الأم

يُستخدم النظام السّادس عشر أيضًا في بعض لغات البرمجة، خاصّةً تلك التي تَتطلّب التّعامل مع مُكوّنات الكمبيوتر بِشكلٍ مُباشر. فبدلاً من كتابة تعليمات طويلة بِالنظام الثّنائيّ، يُمكن للمُبرمجين استخدام النظام السّادس عشر لِلتّعبير عن هذه التّعليمات بِشكلٍ مُختصر وفعّال.

على سبيل المثال، قد يُستخدم النّظام السّادس عشر لِتحديد موقعٍ مُحدّدٍ في الذّاكرة، أو لِلتّحكّم في عمل بعض مُكوّنات الكمبيوتر كالشّاشة أو لوحة المفاتيح.

باختصار، يُشكّل النظام السّادس عشر أداةً أساسيّةً في عالم الكمبيوتر، ويُساهم في جعل التّكنولوجيا أكثر قوّةً وسهولةً في الاستخدام. فبِفهمك لهذا النظام، تُصبح أكثر قُربًا من فهم اللّغة التي تُحرّك العالم الرّقميّ من حولنا.

5. النظام السادس عشر: أداةٌ هامةٌ للمُبرمجين، وانطلاقةٌ نحو عالمٍ من الإبداع!

هل أشعلت فيك هذه الرحلة شرارة الشّغف لعالم البرمجة؟ لا عجب، فالنّظام السّادس عشر هو أحد الأدوات السّحرية التي تُتيح للمُبرمجين التّحكم في أجهزة الكمبيوتر وإبداع برامجٍ وتطبيقاتٍ مُذهلة.

يُمكن تشبيه المُبرمج بِساحرٍ يقوم بِكتابة تعاويذَ خاصّة (الأكواد البرمجيّة) لِلتّحكم في الكمبيوتر وتوجيهه. ولأنّ الكمبيوتر لا يفهم سوى لغة الآحاد والأصفار، فإنّ النّظام السّادس عشر يُمثّل لغةً وسيطة تُسهّل التّواصل بين المُبرمج والآلة.

فهم النظام السّادس عشر يُتيح للمُبرمجين:

  • قراءة وفهم الأكواد بِشكلٍ أفضل: تُستخدم النّظام السّادس عشر في تمثيل العديد من العناصر في الأكواد البرمجية، مثل عناوين الذّاكرة وأكواد الألوان. فبِفهم هذا النظام، يُصبح المُبرمج أكثر قُدرةً على قراءة وفهم الأكواد التي كتبها آخرون، أو التي سيقوم بكتابتها بنفسه.
  • التّحكم في مُكوّنات الكمبيوتر بِدقّة: تُتيح بعض لغات البرمجة للمُبرمجين التّعامل مع مُكوّنات الكمبيوتر بِشكلٍ مُباشر بِاستخدام النّظام السّادس عشر. فمثلاً، يُمكن للمُبرمج تحديد موقعٍ مُحدّدٍ في الذّاكرة لِقراءة أو كتابة بياناتٍ مُعينة، أو لِلتّحكم في إضاءة مصباحٍ LED مُتّصل بِالكمبيوتر.
  • تصميم برامج أكثر كفاءةً: يُساعد فهم النّظام السّادس عشر المُبرمجين على استخدام موارد الكمبيوتر بِشكلٍ أفضل، وتصميم برامج أسرع وأكثر كفاءة.

لذا، إذا كنت تطمح لِدخول عالم البرمجة وإطلاق العنان لإبداعاتك، فإنّ فهم النظام السّادس عشر يُعدّ خطوةً أساسيّةً في هذه الرّحلة. لا تتردّد في تعلّم المزيد عن هذا النظام المُثير، واكتشف كيف يُمكنك استخدامه لِتُصبح ساحرًا في عالم التّكنولوجيا!

خاتمة: النظام السادس عشر - لغةً مُختصرة لعالمٍ رقميٍّ واسع!

وها قد وصلنا إلى نهاية رحلتنا في عالم النّظام السّادس عشر، هذه اللغة الّتي قد تبدو غريبةً للوهلة الأولى، ولكنّها تُشكّل في الواقع أحد أسرار الكمبيوتر وقوّته. لقد تعرّفنا على كيفيّة تمثيل الأرقام بِاستخدام الأحرف والأرقام معًا، و اكتشفنا كيف يُساعدنا هذا النّظام على فهم الكميات الكبيرة من البيانات الثّنائيّة بِسهولة.

إنّ فهم النظام السّادس عشر يفتح أمامنا أبوابًا واسعةً لفهم عالم الكمبيوتر والتّكنولوجيا. فهو يُتيح لنا فهم كيفيّة تخزين البيانات، وتحديد الألوان، وكتابة الأكواد البرمجية. و كما رأينا، فإنّ هذا النظام يُستخدم في العديد من التطبيقات التي نستخدمها يوميًا، من تصميم المواقع الإلكترونيّة إلى البرمجة وتطوير الألعاب.

لا تتوقّف هنا! استمرّ في استكشاف عالم البرمجة وتعلّم المزيد عن النظام السّادس عشر وتطبيقاته المتنوعة. تذكّر أنّ كلّ سطر برمجيّ تكتبه، وكلّ موقعٍ إلكترونيٍّ تصمّمه، وكلّ لعبةٍ تُشارك في برمجتها، هو نتاجٌ لِفهمك لهذه اللغة السّرية التي تُحرّك عالمنا الرّقميّ.

في الدرس القادم من دورة أساسيات مهمة لكل مبرمج ، سنُكمل رحلتنا وننتقل إلى عالم أجزاء البايت في درس اجزاء البايت Byte ومصطلحاتها: ما هو البايت Byte و البت Bit وكيف يعمل، دليل شامل لشرح كل ما بتعلق عن الموضوع. سنتعرف على مكونات البايت وكيفية تمثيل البيانات بِشكلٍ مُفصّل.

للاطلاع على خارطة الكورس الحالي كورس أساسيات مهمة لكل مبرمج الجزء الاول المجانية بالكامل

Feras Swed
بواسطة : Feras Swed
متخصص في تطوير البرمجيات مع خلفية مهنية راسخة، متمرس في إيجاد حلول تقنية مبتكرة. أسهمت بفاعلية في تبسيط المفاهيم التكنولوجية المعقدة من خلال منصتي الإلكترونية، Swed For You، موفرًا موارد قيمة لتعزيز الوعي والمهارات التقنية للعامة. أحرص دائمًا على الالتزام بأعلى معايير الاحترافية والابتكار، مع التركيز على تطوير مسارات جديدة لاستخدام التكنولوجيا بطرق تخدم تقدم المجتمع وتحسين جودة الحياة.
تعليقات